package com.easyadmin.pro.common.annotation.lock;

import java.lang.annotation.*;

/**
 * packageName com.easyadmin.pro.common.annotation.lock
 *
 * @author 骑着蚂蚁去上天
 * @version JDK 17
 * @className RequestLock
 * @date 2024/9/3
 * @description 锁定注解
 */
@Target({ElementType.METHOD, ElementType.PARAMETER, ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
public @interface RequestLock {

    /**
     * 前缀
     * @return
     */
    String prefix() default "";

    /**
     * 分割符
     * @return
     */
    String delimiter() default "&";

    /**
     * 过期时间
     * @return
     */
    long expire() default 5L;

    /**
     * 时间类型
     * @return
     */
    String timeUnit() default "SECONDS";

}